ALEGSA · Actualidad

Definición de Lenguaje intermedio (programación)

Significado de Lenguaje intermedio: (del inglés Intermediate language). En computación, un lenguaje intermedio es el lenguaje de una máquina abstracta diseñada para ayudar en el ...

Definición de Lenguaje intermedio (programación)

 

Definición de Lenguaje intermedio (programación)

 

(del inglés Intermediate language). En computación, un lenguaje intermedio es un lenguaje utilizado como paso intermedio en el proceso de traducción de un programa desde su código fuente original hasta el código máquina o archivo objeto específico de una plataforma. Este lenguaje es ejecutado por una máquina virtual o procesado por otra etapa del compilador que lo transforma finalmente en el código ejecutable para la máquina destino.

El término surge principalmente en el contexto de los compiladores, donde el proceso de compilación se divide en varias fases. El código fuente se traduce primero a un lenguaje intermedio (frecuentemente llamado bytecode), que es más fácil de analizar, optimizar y transformar que el código fuente original o el código máquina final. Por ejemplo, en Java, el compilador convierte el código fuente en bytecode, que luego es interpretado o compilado en tiempo de ejecución por la Máquina Virtual de Java (JVM).

En otros entornos, como .NET, el código fuente se convierte en Intermediate Language (IL), que es ejecutado por la Common Language Runtime (CLR). De manera similar, en el ecosistema LLVM, los distintos lenguajes fuente se traducen a una representación intermedia llamada LLVM IR, que permite aplicar optimizaciones antes de generar el código máquina específico.

El uso de lenguajes intermedios aporta varias ventajas:
  • Portabilidad: Permite que un mismo programa funcione en diferentes plataformas, ya que solo es necesario implementar una máquina virtual o un compilador final para cada plataforma.

  • Optimización: Facilita la aplicación de optimizaciones independientes del hardware.

  • Seguridad y control: Permite implementar mecanismos de seguridad y control de ejecución, como la gestión de memoria automática.


  • Sin embargo, existen desventajas:
  • Rendimiento: La ejecución mediante una máquina virtual puede ser más lenta que el código nativo, aunque técnicas como la compilación JIT (Just-In-Time) pueden mitigar este efecto.

  • Complejidad: Introduce una capa adicional de abstracción y procesamiento, lo que puede dificultar la depuración y el análisis de bajo nivel.


  • Ejemplo: Cuando se compila un programa Java, el resultado es un archivo .class que contiene bytecode, un lenguaje intermedio que puede ejecutarse en cualquier sistema donde exista una JVM, sin necesidad de recompilar el código fuente para cada sistema operativo.

    Comparado con los lenguajes de bajo nivel como el ensamblador, el lenguaje intermedio no está vinculado a una arquitectura de hardware específica, sino que está pensado para ser portable y optimizable antes de la generación de código nativo.

    Resumen: Lenguaje intermedio



    En informática, un lenguaje intermedio es un lenguaje abstracto utilizado como paso intermedio en la traducción de programas de computadora. Facilita el análisis, la optimización y la portabilidad del código, permitiendo que los compiladores generen código máquina eficiente para distintas plataformas.

    ¿Qué diferencias existen entre un lenguaje intermedio y un lenguaje de bajo nivel?



    Un lenguaje intermedio es independiente de la arquitectura de hardware y está diseñado para facilitar la portabilidad y la optimización. En cambio, un lenguaje de bajo nivel (como el ensamblador) se relaciona directamente con la arquitectura de la máquina y permite un control más directo del hardware.

    ¿Cuál es el propósito de un lenguaje intermedio?



    El propósito principal es servir de puente entre el código fuente y el código máquina, permitiendo análisis, optimización y portabilidad antes de la generación del código ejecutable final.

    ¿Cuál es la importancia de un lenguaje intermedio en el proceso de compilación?



    El uso de un lenguaje intermedio simplifica el diseño de compiladores, facilita la implementación de optimizaciones y permite reutilizar etapas del compilador para diferentes lenguajes de entrada y arquitecturas de salida.

    ¿Cuáles son algunos ejemplos de lenguajes intermedios?



  • Bytecode de la JVM (Java)

  • Intermediate Language (IL) de .NET

  • Bytecode de Python

  • LLVM Intermediate Representation (LLVM IR)


  • ¿Cómo afecta el uso de un lenguaje intermedio al rendimiento del software?



    El uso de lenguajes intermedios permite aplicar optimizaciones avanzadas, lo que puede mejorar el rendimiento. Sin embargo, la ejecución sobre una máquina virtual puede introducir cierta sobrecarga, aunque técnicas como la compilación JIT pueden acercar el rendimiento al del código nativo.

    ¿Qué papel juega un lenguaje intermedio en la creación de aplicaciones multiplataforma?



    El lenguaje intermedio permite que el mismo código fuente se ejecute en diferentes plataformas, ya que solo se requiere una máquina virtual o un compilador final específico para cada plataforma. Esto facilita el desarrollo de aplicaciones multiplataforma y reduce los costos de mantenimiento y distribución del software.




    Para más información ver Bytecode.

    Terminología relacionada



    Lenguaje compilado.

    Lenguaje interpretado.


    Autor: Leandro Alegsa
    Actualizado: 07-07-2025

    ¿Cómo citar este artículo?

    Alegsa, Leandro. (2025). Definición de Lenguaje intermedio. Recuperado de https://www.alegsa.com.ar/Dic/lenguaje_intermedio.php

    Diccionario informático


    Compartir nota

    Consultá dudas con nuestro Asistente IA

    ALEGSA IA · Tecnología

    Consultá al asistente IA

    Escribí tu consulta sobre informática, internet, tecnología, programación, hardware, software o seguridad. El asistente responde en segundos y podés elegir si querés una respuesta completa o breve.

    Cuanto más clara sea tu pregunta, mejor responderá la IA. 0/400
    Tipo de respuesta
    Ayuda para escribir una mejor consulta

    Dále contexto a la IA: explicá qué querés resolver, qué equipo o sistema usás y qué tipo de respuesta necesitás. Si lo deseás, dejá tu e-mail para que podamos contactarte si detectamos un error o si nuestro staff quiere ampliar la respuesta. Cada consulta se procesa como una nueva pregunta.

    * Aclaración: sugerimos dejar tu e-mail si querés que podamos contactarte para corregir una respuesta o ampliar la ayuda.

    Nuestras redes

    Podés seguirnos y contactarnos desde nuestras redes sociales.